

package TagClient::View;


#UML_MODELER_BEGIN_PERSONAL_VARS_View

#UML_MODELER_END_PERSONAL_VARS_View

use TagClient::iView;
use TagServer::iModel;

use base qw( TagClient::iView );



=head1 VIEW

The implementation of iView.
That class is a observer of the iModel.

=cut


=head1 PUBLIC ATTRIBUTES

=pod 



=cut

=head3 View->model($new_model)

   Parameters :
      new_model : $ : The model that I observes, using iModel interface

   Return : 
      $ : the _model

   Description : 
     The model that we observes

=cut

sub model {
   warn "Metodo View->model\n";	
   my $self = shift;
   if (@_) { $self->{_model} = shift }
   return $self->{_model};
}




=head3 Public Methods


=head4 ->new()

   Return : 
	The class instance      

   Description : 
      The constructor

=cut

sub new
{
  my $this = shift;
  my $class = ref($this) || $this; 
  my $self = {
  _model => undef,
  };
  warn "Construtor: Sou o View\n";
  bless ($self, $class); 
  return $self;
}



=pod 

=head3 show

   Parameters :
      data : TagServer::iModel : 

   Return : 
      

   Description : 
      Abstract method that shows it.

=cut

sub show
{
  my($self,
     $data, # TagServer::iModel : 
    ) = @_;
#UML_MODELER_BEGIN_PERSONAL_CODE_show
  warn "Metodo View->show\n";
#UML_MODELER_END_PERSONAL_CODE_show
}




=cut


=head1 METHODS FOR SUBCLASSING



=cut


=head1 PRIVATE METHODS



=cut






return 1;
